import axios from 'axios'
// qs nodejs 提供的
import qs from 'qs'
// import store from '@/store/index'
var host
// process.env是Nodejs提供的一个API，它返回一个包含用户环境信息的对象。
// 通过NODE_ENV 判断当前环境是生产环境(production)还是开发环境(development) 自动切换不同域名

// 暂时开发环境和生产环境  所以域名暂时一样
if (process.env.NODE_ENV == 'development') {
  //   host = "http://xxxx";
  //   host = 'http://result.eolinker.com'
  //   host = 'http://192.168.2.37/index'
  // host = 'http://192.168.2.117:92/index'
  host = 'http://192.168.2.117:92/index'
  //   host = '/api'
} else {
  //   host = 'http://127.0.0.1:92'
}

// 创建axios实例
const instance = axios.create({
  // baseURL  公共接口路径
  baseURL: host,
  //   baseURL: 'host',
  // timeout 超时时间
  timeout: 5000
})
// 请求拦截器
instance.interceptors.request.use(
  config => {
    // store.commit('showLoading') // loadiNg
    if (config.method.toLowerCase() == 'post') {
      // qs系列化
      // https://www.npmjs.com/package/qs
      //  arrayFormat: 'repeat' 作用:  { a: ['b', 'c'] }  ==> 'a=b&a=c'
      //  allowDots: true  作用: { a: { b: { c: 'd', e: 'f' } } }  ==>  'a.b.c=d&a.b.e=f'
      // config.data = qs.stringify(config.data, {
      //   arrayFormat: 'repeat',
      //   allowDots: true
      // })
      // config.url +='?code=' + localStorage.getItem('code')
      //   localStorage.setItem('token', 'G636G3')
      config.headers.token = localStorage.getItem('token')
      //   config.headers['token'] = localStorage.getItem('token')
    } else {
      //
      config.params = config.data
    }

    return config
  },
  error => {
    // do something with request error
    // store.commit('hideLoading')
    console.log(error) // for debug
    return Promise.reject(error)
  }
)

// 响应拦截器

instance.interceptors.response.use(
  response => {
    // 响应拦截器
    const res = response.data
    // store.commit('hideLoading')
    return res
  },
  error => {
    console.log('err' + error) // for debug
    // store.commit('hideLoading')
    return Promise.reject(error)
  }
)

export default instance
